Skip to content

Release 1.44.0: QuantLib 1.44, xad 2.2 - #22

Merged
auto-differentiation-dev merged 15 commits into
mainfrom
deps/quantlib-1.44
Nov 12, 2026
Merged

auto-differentiation-dev merged 15 commits into
mainfrom
deps/quantlib-1.44

Conversation

@auto-differentiation-dev

@auto-differentiation-dev auto-differentiation-dev commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Releases QuantLibAAD-Py 1.44.0, the first release under the QuantLibAAD name: QuantLib 1.44 with the matching QuantLib-SWIG 1.44 bindings, built on xad 2.2 from PyPI.

Changes

  • QuantLib v1.44, with two temporary patches in patches/quantlib/ until QuantLib 1.45 ships them, applied at build time to a copy of the QuantLib source (the submodule stays clean, and a patch that no longer fits fails the build):
  • SWIG interfaces and Python tests synced with QuantLib-SWIG 1.44 (new: FX forwards, multi-curve, variance swaps); the Python API that QuantLib-SWIG 1.42 to 1.44 removed is listed in the CHANGELOG; ChangeLog.txt from QuantLib-SWIG 1.44
  • xad 2.2 from PyPI (xad>=2.2,<2.3, also in the CMake build): the module links the xad package's shared libxad and shares its tape
  • QuantLib and the module are built with no FMA contraction (-ffp-contract=off with GCC and Clang), so AD values match a plain-double build with the same setting
  • Version 1.44.0; the QuantLib-Risks shim requires QuantLibAAD 1.44

The wheels build and test against xad>=2.2,<2.3 from PyPI instead of the
xad-py git pin (9ca1797): for build, runtime and the QuantLib build in
before-all. The before-build, build-frontend and before-test overrides and
the sdist job's non-isolated build were only there for the git pin, so
wheels and sdist go back to isolated builds.
patches/quantlib holds QuantLib PR #2934 (library part) and PR #3057, backported to 1.44
and applied before QuantLib is configured; both go with QuantLib 1.45.
New upstream interfaces fxforward.i, multicurve.i and varianceswaps.i; spreadoption.i is gone
upstream. XAD changes carried over to the new ArrayFunction and GlobalBootstrap code.
CHANGELOG for QuantLib 1.44 and its temporary QuantLib fixes.
So AD values match plain double bit for bit, as in QuantLibAAD's own build.
Off on macOS and Windows; both are built with the same compiler.
…tree

lib/QuantLib stays clean and a patch that no longer fits fails the build; the copy has no .git,
so git apply also works from an sdist.
pytest.approx only checks a xad Real for exact equality, since it isn't a numbers.Complex.
Lists the Python API removed with QuantLib-SWIG 1.42 to 1.44, what the temporary QuantLib fixes
change, and the build without FMA contraction, so AD values match a plain-double build with the
same setting.
Whole-module LTO crashed GCC 14 on the CI runners (internal compiler error at the link).
@auto-differentiation-dev
auto-differentiation-dev marked this pull request as ready for review November 12, 2026 22:51
@auto-differentiation-dev
auto-differentiation-dev merged commit a21598d into main Nov 12, 2026
40 of 79 checks passed
@auto-differentiation-dev
auto-differentiation-dev deleted the deps/quantlib-1.44 branch November 12, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant